Anno accademico 2008/2009
Home page
Pagina per l'anno accademico 2009/10
Modalità d'esame
-
L'esame consiste in una prova individuale pratica da svolgersi
nel laboratorio didattico SILab di via Comelico 39
(tempo massimo 4 ore) e una prova orale.
-
È necessario iscriversi tramite
SIFA online
(viene aperta un'unica lista di iscrizione valida per tutti gli studenti dell'Edizione 1).
Le iscrizioni si chiudono circa una settimana
prima della data dell'appello
Controllare inoltre di essere assegnati al turno A o B, come specificato sotto.
-
Prima dell'esame, prendere visione del
materiale di supporto
(che sarà disponibile anche durante la prova d'esame).
Si noti che sono disponibili solamente le API Java (e non la libreria
libreria prog del libro di testo) con la documentazione in inglese.
Date appelli per la prova in laboratorio
26 gennaio, 9 febbraio, 24 febbraio,
22 giugno, 10 luglio, 25 settembre.
Gli studenti dell'Edizione 1 sono suddivisi in
Turno A
e Turno B
come indicato nell'elenco.
Gli studenti che intendono sostenere l'esame di laboratorio
e non compaiono nell'elenco, devono inviare la richiesta di inserimento nell'elenco a
fiorenti@dsi.unimi.it,
indicando il proprio nome, cognome e numero di matricola
(il turno viene assegnato a discrezione dei docenti).
Ricevimento
Nel mio ufficio, via Comelico 39
(ufficio S.202 al secondo piano, corridoio sopra l'ingresso del Dipartimento)
su appuntamento
(fiorenti@dsi.unimi.it).
NOTA
Quando si scrive a un docente, usare preferibilemente l'indirizzo di posta di ateneo
(della forma nome.cognome@studenti.unimi.it).
Indicare sempre il proprio nome e cognome.
Materiale relativo alle lezioni
-
7 ottobre - Lezione 1
Introduzione al corso. Il primo programma.
-
14 ottobre - Lezione 2
Introduzione all'uso di Linux: file system, caratteri speciali,
principali comandi, variabili d'ambiente.
-
16 ottobre - Laboratorio 1
Esempio di file di configurazione per bash:
.bashrc
Testo degli esercizi
(pdf).
-
21 ottobre - Lezione 3
Sistemi di numerazione posizionale: rappresentazione di numerali,
conversioni di base, conversioni rapide con base 2,8 e 16.
Permessi di un file e loro rappresentazione in base 8.
Esercizi.
-
23 ottobre - Laboratorio 2
Basi del linguaggio.
Esercizi da svolgere in laboratorio: 2.3, 3.{6,9,12,19,25,28,31}.
Esercizi da svolgere a casa: 2.{4,6}, 3.{4,10,13,14,26}.
Per risolvere l'esercizio X del capitolo Y, occorre scrivere
una classe del tipo
EsercizioXCapY.java
-
30 ottobre - Laboratorio 3
Espressioni, operatori e tipi primitivi.
Esercizi da svolgere in laboratorio: 3.{15,23,27}, 4.14.
Esercizi da svolgere a casa: 4.{1,2,6,8,11,13,15}.
-
6 novembre - Laboratorio 4
Tipi enumerativi.
Esercizi da svolgere in laboratorio: 4.{17,28,24}.
Alcune indicazioni.
Esercizi da svolgere a casa: 4.{18,20,25}.
-
13 novembre - Laboratorio 5
Array e matrici.
Esercizi da svolgere in laboratorio:
5.3, Matrici.java (programma da completare), 5.15.
Alcune indicazioni.
Esercizi da svolgere a casa: 5.{4,5,6,7,16}.
Per gli esercizi 5.{4,5,7), vedi le indicazioni.
-
18 novembre - Lezione 4
La rappresentazione complemento a due di interi.
Esempio: ComplementoADue.java
Esercizi su matrici. Ordinamento di un array.
Esercizio:
Matrici1.java
-
20 novembre - Laboratorio 6
Tipi generici.
Esercizi da svolgere in laboratorio: 5.{19,24,28}.
Alcune indicazioni.
Esercizi da svolgere a casa: 5.{18,20,25,26}.
Traccia per lo svolgimento Esercizio 28.5:
es28Cap5.txt
-
27 novembre - Laboratorio 7
Uso della gerarchia.
Esercizi da svolgere in laboratorio: 6.{19,22,25,26}.
Alcune indicazioni.
Esercizi da svolgere a casa: 5.27, 6.{23,24}.
-
4 dicembre - Laboratorio 8
Implementazione di classi.
Esercizio da svolgere in laboratorio (e da completare a casa):
implementazione di classi per rappresentare punti e rettangoli.
Testo
dell'esercizio.
File da utilizzare:
Punto.java,
ProvaPunto.java,
Rettangolo.java,
ProvaRettangolo.java.
Altri esercizi da svolgere a casa: 7.{11,12,13}.
-
5 dicembre - Lezione 5
API Java standard per l'input e l'ouptut (Cap. 13 del libro di testo).
Esempio di programma che utilizza standard input, standard output, standard error:
StandardIO.java.
Esercizio: conversione da intero a binario (usando API Java per Input/Output).
Testo dell'esercizio.
Il file BinaryDigit.java
(tipo enumerativo per rappresentare le cifre binarie).
-
18 dicembre - Laboratorio 9
Estensione di classi. Introduzione all'uso di Collection.
Testo dell'esercizio (agenda telefonica).
Classi da utilizzare (e completare):
Person.java,
Contact.java,
ExtendedContact.java,
PhoneBook.java,
MiaAgenda.java (classe di prova).
Esempio di comandi di input:
in.txt.
Esercizi da svolgere a casa: 8{1,2,3,9,10,13}.
NOTA
Esempi di errori da evitare quando si usano oggetti di tipo Collection:
Esempio1.java (uso corretto di equals
),
Esempio2.java (uso corretto di remove
),
Studente.java.
-
8 gennaio - Laboratorio 10
Definizione e uso di eccezioni.
Materiale per l'esercizio da svolgere in laboratorio (e da completare a casa):
cestinoSpesa.tar.
Per estrarre i file: tar xvf cestinoSpesa.tar
.
Il testo dell'esercizio è nel file TESTO.txt
.
Esempio di file di input per la classe BasketTest
:
in.txt.
-
15 gennaio - Laboratorio 11
Alcuni commenti importanti sull'esercizo "Cestino della spesa" (assegnato l'8 gennaio):
OSSERVAZIONI.txt.
Esercizi da svolgere a casa sull'uso della ricorsione: 10{1,2,3,8,11}.
Libro di testo di riferimento
G. Pighizzini e M. Ferrari.
Dai fondamenti agli oggetti. Corso di programmazione Java (terza edizione).
Pearson Education, 2008.
Dalla home page del libro è possibile scaricare le
librerie
utilizzate nel corso.
Software
Viene utilizzato Java Developer Kit (compilatore e macchina virtuale per Java),
disponibile sul sito dedicato a Java della
Sun.
In particolare, occorre scaricare:
-
La versione 6 di JDK
- La libreria prog del libro di testo
Il materiale si trova anche nel CD allegato al libro.
Materiale di supporto
Nota
I file in formato PostScript possono
essere visualizzati utilizzando i programmi
Ghostscript, Ghostview e GSview,
i file in formato PDF possono essere visualizzati utilizzando
Acrobat Reader.
Camillo Fiorentini